<div class=content>
目录: Computer classes / 计算机专业大学四年课程 /



<h2>Computer classes</h2>
<pre>
一个月学一个课程。三个月入门。UCB 伯克利的大一大二课程。
==> 最重要的是做题和写作业，一定要一道题不差的写作业。
CS 61A: Structure and Interpretation of Computer Programs
	https://cs61a.org/ 计算机入门课。
	主要是 py；后面有 scheme, sql和正则表达式。没有基础会比较吃力。
	

CS 61B Data Structures, Spring 2022
	https://inst.eecs.berkeley.edu/~cs61b/sp22/ 数据结构和算法。
	主要是 Java; 除了不会 Java Spring 外，Java肯定比培训班学的好。
	https://sp21.datastructur.es/ 2021年的

CS 61C Summer 2022: Great Ideas in Computer Architecture (Machine Structures)
	https://cs61c.org/su22/
	C 语言。

CSAPP: Computer System A Programer's Perspective
	https://csd.cmu.edu/course-profiles/15-213-Introduction-to-Computer-Systems
	C 语言。


自学能力，包括: 自律、研究能力、理解能力、寻找有效课程的能力、规划能力等。

前端三剑客。
然后用 python 刷 leetcode。
	一天3-5题半小时(有人说一道题一下午)。按tag刷，一个题型刷五六道就有手感了。最开始慢点无所谓。
kaggle 玩几个月，再有一些系统设计的 sense 就差不多了。
看个导论，学官网语法、框架，搞几个项目，就差不多了。

算法还是需要线性代数和微积分。
知识是没有壁垒的，但是智商有。

计算机网络、OS、设计模式，要多实践。

</pre>







<h2>计算机专业大学四年课程</h2>
<pre>
大一
	C语言程序设计
	计算机导论
	大学计算机基础
	高等数学
	计算机组装与维修（选修）
大二
	数据结构
	离散数学
	C++程序设计
	数字逻辑
大三
	编译原理
	计算机网络技术
	汇编语言设计
	操作系统原理
	数据库原理
大四
	人工智能导论
	算法设计与分析
	软件工程
	Linux内核分析
	课程设计
#

<hr>
计算机研究生考什么
一、计算机专业考研的初试科目调整后为4门，即政治理论、外国语、数学一和计算机学科专业基础综合，卷面满分值分别为100分、100分、150分和150分。

二、计算机专业考研基础综合的考试内容包括：数据结构、计算机组成原理、操作系统和计算机网络，重点考查考生掌握相关基础知识、基本理论和分析问题解决问题的能力。考试内容及试卷结构在考试大纲中确定。

计算机专业考研专业课该如何复习？ 复习思路
习时间安排及顺序：建议广大考生至少从九月份就应该开始专业课的复习了。并且按照由难到易的顺序复习专业课科目，即按照《数据结构》，《计算机组成原理》，《操作系统》，《计算机网络》的顺序来规划复习专业课。
https://zhuanlan.zhihu.com/p/129277029

<hr>
总结计算机基础：
	1.基础中的基础（数学、英语）
		概率论与统计
		线性代数
		离散数学 
		数学分析
	2.计算机组成原理
		数据的表示与运算
		存储器层次结构
		指令系统
		中央处理器
		总线
		输入输出系统
	3.操作系统
		操作系统作用 
		进程管理
		存储管理
		文件管理
		设备管理
		中断管理
	4.编译原理
		语法分析
		词法分析
		语义分析
		中间代码生成
		代码优化
		符号表及错误管理
	5.计算机网络
		TCP/UDP
		网络分层
			TCP/IP四层模型
			OSI七层模型
		http/https
	6.数据库
		NoSQL
		MySQL
			基本使用
			索引优化
			集群
				主从备份
				读写分离
	7.数据结构与算法 
		数据结构
			数组
			链表
			栈
			队列
			树
			图
			并查集
		算法
			排序
				冒泡
				插入
				快排
				归并
				堆排
			二分查找
			递归
			分治
			回溯
			贪心
			动态规划
			KMP
	8.编程语言
		C/C++
		Java
		Python
		C#
		Go
		Swift
		Rust
#
</pre>
<p>数学：数据结构与算法，都离不开扎实的数学功底。</p>
<p>英语：新技术都是英文的，翻译的都是过时的。</p>
<p>一个有水平的程序员，应该花80%的时间做代码设计、画时序图，画UML图、剩下20%的时间写code和debug；菜鸟程序员的这个比例恰好是反的。</p>










</div>